Fundamentals of C programming